@echo off
chcp 65001 >nul
echo ==========================================
echo AI-SOES MySQL版本启动脚本 (最终版)
echo ==========================================
echo.

:: 进入后端目录
cd backend

:: 停止现有进程
echo [步骤 1/6] 停止现有进程...
taskkill /f /im python.exe >nul 2>&1

:: 激活虚拟环境
echo [步骤 2/6] 激活虚拟环境...
call venv\Scripts\activate.bat
if %errorlevel% neq 0 (
    echo [错误] 虚拟环境激活失败
    pause
    exit /b 1
)

:: 使用原始Django配置
echo [步骤 3/6] 使用原始MySQL配置...

:: 检查MySQL连接
echo [步骤 4/6] 检查MySQL连接...
python -c "import MySQLdb; MySQLdb.connect(host='localhost', user='soes_user', password='soes_password', database='soes_db', charset='utf8mb4')" 2>nul
if %errorlevel% neq 0 (
    echo [错误] MySQL连接失败
    echo 请确保已创建数据库和用户
    pause
    exit /b 1
)
echo [成功] MySQL连接测试通过

:: 运行数据库迁移
echo [步骤 5/6] 运行数据库迁移...
python manage.py migrate --skip-checks
if %errorlevel% neq 0 (
    echo [错误] 数据库迁移失败
    pause
    exit /b 1
)
echo [成功] 数据库迁移完成

:: 创建管理员用户
echo [步骤 6/6] 创建管理员用户...
echo from django.contrib.auth import get_user_model > create_admin.py
echo User = get_user_model() >> create_admin.py
echo if User.objects.filter(username='admin').exists(): >> create_admin.py
echo     print('[信息] 管理员用户已存在') >> create_admin.py
echo else: >> create_admin.py
echo     User.objects.create_superuser('admin', 'admin@example.com', 'admin123') >> create_admin.py
echo     print('[成功] 管理员用户已创建: admin/admin123') >> create_admin.py

python manage.py shell < create_admin.py
del create_admin.py

echo.
echo ==========================================
echo AI-SOES Django MySQL服务器启动成功！
echo ==========================================
echo.
echo 服务地址:
echo    - 后端API: http://localhost:8000
echo    - 管理后台: http://localhost:8000/admin
echo    - API文档: http://localhost:8000/api/docs
echo.
echo 管理员账号:
echo    用户名: admin
echo    密码: admin123
echo.
echo 数据库:
echo    - MySQL: soes_db
echo    - 用户: soes_user
echo    - 密码: soes_password
echo.
echo 按Ctrl+C停止服务器
echo ==========================================
echo.

python manage.py runserver 0.0.0.0:8000 --skip-checks